package com.platform.car.dao;

import com.platform.car.model.Parkinglot;
import com.platform.common.annotation.MyBatisDao;
import com.platform.common.base.dao.BaseDao;

import java.util.List;


@MyBatisDao
public interface ParkinglotDao extends BaseDao<Parkinglot> {


    /**
    * 保存数据
    * @param parkinglot 实体对象
    * @return 实体id
    * @throws Exception 数据保存异常
    */
    public Integer insert(Parkinglot parkinglot) throws Exception ;


    /**
    * 根据 id 批量删除
    * @param ids 要删除的id
    * @return 影响的行数
    * @throws Exception 数据删除异常
    */
    public Integer deleteByIds(String[] ids) throws Exception;


    /**
    * 根据 id 查找
    * @param id 实体id
    * @return 实体
    */
    public Parkinglot selectById(Integer id);

    Integer updateById(Parkinglot parkinglot);

    /**
     * 根据停车场的ID,车位的状态或有无地锁查询
     * @param parkinglot
     * @return
     */
    List<Parkinglot> findByParkingId(Parkinglot parkinglot);

    /**
     * 根据停车场的ID查询智能地锁且空闲
     * @param parkinglot
     * @return
     */
    List<Parkinglot> selectByParkingIdAndLock(Parkinglot parkinglot);
}
